home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / SYSCTRL.D < prev    next >
Encoding:
Modula Definition  |  1990-09-28  |  1.4 KB  |  42 lines

  1. DEFINITION MODULE SysCtrl;
  2.  
  3. (*
  4.  * Dies Modul dient dazu, die relevanten Informationen zu ermitteln,
  5.  * mit denen ein Programm seine derzeitige Position und Aufrufkette
  6.  * bestimmen kann.
  7.  *
  8.  * So bedienen sich die Module 'GEMError' und 'GEMScan' dieser Funktionen,
  9.  * um dann das bekannte Scanning zu ermöglichen. Siehe dazu auch die
  10.  * mitgelieferten Quelltexte zu diesen Modulen.
  11.  *)
  12.  
  13. FROM SysTypes IMPORT ScanDesc, ExcDesc;
  14.  
  15. PROCEDURE ExcToScanAddr ( REF exc: ExcDesc; VAR info: ScanDesc );
  16.   (*
  17.    * Wurde eine Exception mit dem Excepts-Modul abgefangen,
  18.    * können hiermit die Scan-Werte aus dem Exception-Record
  19.    * ermittelt werden. Wird z.B. von
  20.    *)
  21.  
  22. PROCEDURE GetScanAddr ( VAR info: ScanDesc );
  23.   (*
  24.    * Liefert Scan-Werte der Funktion, die diese Routine aufruft.
  25.    * 'info.pc' zeigt hinter die Adresse dieses Aufrufs.
  26.    *
  27.    * Damit kann eine Prozedur ihre eigene Adresse ermitteln und dann
  28.    * z.B. mit ModCtrl.GetModName (info.pc, ...) den Funktionsnamen
  29.    * und die rel. Adresse erhalten oder über das Modul GEMScan anzeigen
  30.    * lassen.
  31.    *)
  32.  
  33. PROCEDURE ScanBack ( VAR info: ScanDesc ): BOOLEAN;
  34.   (*
  35.    * Ermittelt aus den übergebenen Scan-Werten in 'info' die aufrufende
  36.    * Prozedur und liefert TRUE, wenn dies möglich ist. Dann sind alle
  37.    * drei Werte von 'info' verändert und 'info.pc' zeigt auf die Adresse
  38.    * hinter dem Aufruf.
  39.    *)
  40.  
  41. END SysCtrl.
  42.